package cn.wei.sdd.core.service;

import cn.wei.sdd.core.pojo.entity.TakeMoneyRecord;
import cn.wei.sdd.core.pojo.query.TakeMoneyQuery;
import cn.wei.sdd.core.pojo.vo.CheckTakeMoneyVO;
import cn.wei.sdd.core.pojo.vo.TakeMoneyRecordByUserIdVO;
import cn.wei.sdd.core.pojo.vo.takeMoneyVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 提现记录表 服务类
 * </p>
 *
 * @author Wei
 * @since 2021-11-10
 */
public interface TakeMoneyRecordService extends IService<TakeMoneyRecord> {

    void takeMoney(takeMoneyVO takeMoneyVO, Long userId, Long userType);

    IPage<TakeMoneyRecord> listPage(Page<TakeMoneyRecord>  pageParam, TakeMoneyQuery takeMoneyQuery);

    void examineTakeMoney(CheckTakeMoneyVO checkTakeMoneyVO, String userName);

    TakeMoneyRecord findOneByTradeCode(String out_trade_no);

    List<TakeMoneyRecordByUserIdVO> getTakeMoneyListByUserId(Long userId);

    BigDecimal getTakeMoneyCount();
}
